package de.thm.softwareprojekt.personen.mitarbeiter;

import java.util.ArrayList;
import java.util.Calendar;

import de.thm.softwareprojekt.personen.CAdresse;
import de.thm.softwareprojekt.personen.CPerson;

public class CMitarbeiter extends CPerson {
	
	
	//statt private --> protected
	protected int mid;
	protected CKonto konto;
	protected ArrayList<CJob> job;

	
	public CMitarbeiter(){}
	
	public CMitarbeiter(CMitarbeiter m){
		this.mid = m.getMid();
		this.anrede = m.getAnrede();
		this.nachname = m.getNachname();
		this.vorname = m.getVorname();
		this.adresse = m.getAdresse();
		this.email = m.getEmail();
		this.telefonnummer = m.getTelefonnummer();
		this.mobilnummer = m.getMobilnummer();
		this.geburtsdatum = m.getGeburtsdatum();
		this.konto = m.getKonto();
		this.job = m.getJob();
	}

	public CMitarbeiter (int mid, String anrede, String nachname, String vorname, 
						String strasse, String hausnr, String plz, String stadt, 
						String email, String telnr, String mobilnr, Calendar geburtstag) {
		this.mid = mid;
		this.anrede = anrede;
		this.nachname = nachname;
		this.vorname = vorname;
		this.adresse = new CAdresse(mid,strasse,hausnr,"",plz,stadt);
		this.email = email;
		this.telefonnummer = telnr;
		this.mobilnummer = mobilnr;
		this.geburtsdatum = geburtstag;
		this.konto = new CKonto();
		this.job = new ArrayList<CJob>();
	}
	
	public void setKontoDaten(int kid, String kin, int knr, int blz, String binst, int mid){
		konto.setKontoid(kid);
		konto.setKontoinhaber(kin);
		konto.setKontonummer(knr);
		konto.setBankleitzahl(blz);
		konto.setBankinstitut(binst);
		konto.setMitarbeiterid(mid);
	}
		
	public void setJobDaten(int jid, String bez, double stdlohn, String waehrung){
		CJob temp = new CJob(jid,bez,stdlohn,waehrung);
		if(job.isEmpty()){
			job.add(0,temp);
		}
		else {
			job.add(job.size(),temp);
		}
	}
	
	public int getMid() {
		return mid;
	}

	public void setMid(int mid) {
		this.mid = mid;
	}
	
	public String getName() {
		return vorname +" "+ nachname;
	}

	public String getStrasse() {
		return this.adresse.getStrasse();
	}

	public void setStrasse(String strasse) {
		this.adresse.setStrasse(strasse);
	}

	public String getHausnr() {
		return this.adresse.getHausnummer();
	}

	public void setHausnr(String hausnummer) {
		this.adresse.setHausnummer(hausnummer);
	}

	public String getPlz() {
		return this.adresse.getPlz();
	}

	public void setPlz(String plz) {
		this.adresse.setPlz(plz);
	}

	public String getStadt() {
		return this.adresse.getStadt();
	}

	public void setStadt(String stadt) {
		this.adresse.setStadt(stadt);
	}
	
	public String toString() {
		return this.getMid() + " -- " +  this.getVorname() + " " + this.getNachname();
	}

	public CKonto getKonto() {
		return konto;
	}

	public void setKonto(CKonto konto) {
		this.konto = konto;
	}

	public ArrayList<CJob> getJob() {
		return job;
	}

	public void setJob(ArrayList<CJob> job) {
		this.job = job;
	}
}
